#nullable enable

using System;
using System.Collections.Generic;

namespace PHMEE.DTOS.Diagnosis;

/// <summary>
/// SignalR 实时推送到前端的机组/设备报警记录实时信息的 Dto
/// </summary>
public class AlarmRecordRealtimeDto
{
    /// <summary>
    /// 报警记录 Id
    /// </summary>
    public Guid AlarmRecordId { get; set; }

    /// <summary>
    /// 报警时间 Utc
    /// </summary>
    public DateTime AlarmRecordTimeUtc { get; set; }

    /// <summary>
    /// 报警测点 Id
    /// </summary>
    public Guid PointId { get; set; }

    /// <summary>
    /// 报警测点名称
    /// </summary>
    public string PointName { get; set; } = null!;

    /// <summary>
    /// 机组 Id
    /// </summary>
    public Guid UnitId { get; set; }

    /// <summary>
    /// 设备 Id（仅当测点关联到设备时有效）
    /// </summary>
    public Guid? EquipId { get; set; }

    /// <summary>
    /// 报警特征值及报警等级
    /// </summary>
    public IEnumerable<FeatureAlarmLevelsDto> FeatureAlarmLevels { get; set; } = [];

    /// <summary>
    /// 诊断结论和维保建议
    /// </summary>
    public IEnumerable<MaintenanceInfoDto> MaintenanceInfos { get; set; } = [];
}